package za.ac.cput.garethc.designpatterns.behavioural.templatemethod;


/**
 *
 * @author Gareth
 */
public abstract class Meal
{
    public final void doMeal()
    {
        prepareIngredients();
        cook();
        eat();
        cleanUp();
    }

    public abstract void prepareIngredients();

    public abstract void cook();

    public String eat()
    {
        return ("eating meal");
    }

    public abstract void cleanUp();
}
